BIASDATE

The BIASDATE field specifier (case sensitive) allows you to boost the score of result documents by a specified percentage, based on how close the date in a specified field is to a specified date.

NOTE: You can optimize the speed of this field specifier by restricting the field to the NumericDateType property type.

Format

FieldText=BIASDATE{optimumDate,range,percentage}:yourFields
optimumDate The date that the specified field must contain to increase or decrease the weight by the maximum percentage.
range A positive value that defines the range, in seconds, of the specified optimumDate. If yourFields contain a value in the range (optimum - range) to (optimum + range), the weight is increased or decreased according to the specified percentage.
percentage

A percentage in the range 100 to -100. If the value of yourFields is in the specified range, the score of the result is increased or decreased according to how close the value is to the specified optimum.

When AbsWeight is set to true, this value is the absolute value by which to boost the weight and it is not limited by +/- 100.

yourFields Type one or more fields. A document has its score boosted if it contains one of these fields, and if this field contains a date that falls within the specified range of the optimum date. Separate multiple fields with colons (:). There must be no space before or after a colon.

You can use the following formats to specify your dates:

Date formats

Format Explanation
D+/M+/#YY+

A date. For example, 1/3/05, 23/12/1999, 10/07/40, or 8/5/2012.

If the year is a number less than 40, it is read as a year in the 2000s. If the year is a number between 40 and 99, it is read as a year in the 1900s. For example, 01/02/01 is read as 1 February 2001, and 01/03/40 is read as 1 March 1940.

IDOL Server treats the date as a date in its local timezone.

YYYY-MM-DD A date in ISO-8601 format. For example, 2017-05-12
HH:NN:SS D+/M+/#YY+

A time and date. For example, 10:30:45 1/3/05, 18:55:00 23/12/99, 01:23:45 10/07/1940, or 07:15:00 8/5/2012.

If the year is a number less than 40, it is read as a year in the 2000s. If the year is a number between 40 and 99, it is read as a year in the 1900s. For example, 01/02/01 is read as 1 February 2001, and 01/03/40 is read as 1 March 1940.

IDOL Server treats the date as a date in its local timezone.

YYYY-MM-DDTHH:NN:SSZ
YYYY-MM-DDTHH:NN:SS±HHMM

A date and time in ISO-8601 formats, with a time zone (either as a literal Z, or a four digit time zone offset). For example, 2017-05-02T12:45:00Z, or 2017-05-02T12:45:00+0000.

HH:NN:SS D+/M+/#YY+ #ADBC

A time and date with a time period. For example, 10:30:45 1/3/05 AD, 18:55:00 23/12/99 CE.

For the time period, you can use AD, CE, BC, BCE, or any predefined list of EPOCH indicators.

IDOL Server treats the date as a date in its local timezone.

N

A positive or negative number of days from the current date.

For example, –1 specifies yesterday's date, 0 specifies today's date, 1 specifies tomorrow's date, 2 specifies two days from now (the current date plus two), and so on.

Ns

A positive or negative number of seconds from now.

For example, –60s specifies one minute ago, –900s specifies 15 minutes ago, –3600s specifies one hour ago and so on. 60s specifies one minute from now, 900s specifies 15 minutes from now, 3600s specifies one hour from now, and so on.

Ne

Epoch seconds (seconds since 1 January 1970 UTC).

For example, 1012345000e specifies 22:56:40 on 29 January 2002 UTC.

NOTE: IDOL Server treats any date that does not have explicit timezone information as a date in the local timezone, both in the index and in your query parameters. This behavior might result in non-intuitive matches.

For example, epoch second values are always UTC. The value 1012345000e matches times as 22:56:40 on 29 January 2002 UTC. If your local timezone is GMT-6, this query might match an indexed date value of 03:56:40 on 29 January 2002 (which corresponds to the same time UTC), because the indexed date is in your local timezone.

Similarly, if your query date is 03:56:40 29/01/2002, this might match an indexed epoch seconds date of 1012345000.

Example

FieldText=BIASDATE{01/12/2008,864000,10}:DATE

A document whose DATE field value is within a range of 10 days (864000 seconds) either side of 1/12/2008 has its weight increased on a linear scale from 10% if the date is 1/12/2008, to 0% if the date is 20/11/2008 or 11/12/2008.

FieldText=BIASDATE{01/12/2008,86400,-10}:DATE

A document whose DATE field value is within a range of 10 days (864000 seconds) either side of 1/12/2008 has its weight decreased on a linear scale from -10% if the date is 1/12/2008, to 0% if the date is 20/11/2008 or 11/12/2008.

See Also